home *** CD-ROM | disk | FTP | other *** search
- /*
- File: CMCalibrator.h
-
- Contains: ColorSync Calibration API
-
- Version: Technology: ColorSync 2.5
- Release: ColorSync 2.6 SDK for use with Universal Interfaces 3.1
-
- Copyright: © 1998 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __CMCALIBRATOR__
- #define __CMCALIBRATOR__
-
- #ifndef __CMAPPLICATION__
- #include <CMApplication.h>
- #endif
- #ifndef __DISPLAYS__
- #include <Displays.h>
- #endif
- #ifndef __ERRORS__
- #include <Errors.h>
- #endif
-
-
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
-
- typedef CALLBACK_API( void , CalibrateEventProcPtr )(EventRecord *event);
- typedef STACK_UPP_TYPE(CalibrateEventProcPtr) CalibrateEventUPP;
-
- /* Interface for new ColorSync monitor calibrators (ColorSync 2.6 and greater) */
-
-
- enum {
- kCalibratorNamePrefix = FOUR_CHAR_CODE('cali')
- };
-
-
- struct CalibratorInfo {
- UInt32 dataSize; /* Size of this structure - compatibility */
- AVIDType displayID; /* Contains an hDC on Win32 */
- UInt32 profileLocationSize; /* Max size for returned profile location */
- CMProfileLocation * profileLocationPtr; /* For returning the profile */
- CalibrateEventUPP eventProc; /* Ignored on Win32 */
- Boolean isGood; /* true or false */
- };
- typedef struct CalibratorInfo CalibratorInfo;
- typedef CALLBACK_API( Boolean , CanCalibrateProcPtr )(AVIDType displayID, Str255 errMessage);
- typedef CALLBACK_API( OSErr , CalibrateProcPtr )(CalibratorInfo *theInfo);
- typedef STACK_UPP_TYPE(CanCalibrateProcPtr) CanCalibrateUPP;
- typedef STACK_UPP_TYPE(CalibrateProcPtr) CalibrateUPP;
- enum { uppCalibrateEventProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
- enum { uppCanCalibrateProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
- enum { uppCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
- #if MIXEDMODE_CALLS_ARE_FUNCTIONS
- EXTERN_API(CalibrateEventUPP)
- NewCalibrateEventProc (CalibrateEventProcPtr userRoutine);
- EXTERN_API(CanCalibrateUPP)
- NewCanCalibrateProc (CanCalibrateProcPtr userRoutine);
- EXTERN_API(CalibrateUPP)
- NewCalibrateProc (CalibrateProcPtr userRoutine);
- EXTERN_API(void)
- CallCalibrateEventProc (CalibrateEventUPP userRoutine,
- EventRecord * event);
- EXTERN_API(Boolean)
- CallCanCalibrateProc (CanCalibrateUPP userRoutine,
- AVIDType displayID,
- Str255* errMessage);
- EXTERN_API(OSErr)
- CallCalibrateProc (CalibrateUPP userRoutine,
- CalibratorInfo * theInfo);
- #else
- #define NewCalibrateEventProc(userRoutine) (CalibrateEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateEventProcInfo, GetCurrentArchitecture())
- #define NewCanCalibrateProc(userRoutine) (CanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCanCalibrateProcInfo, GetCurrentArchitecture())
- #define NewCalibrateProc(userRoutine) (CalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateProcInfo, GetCurrentArchitecture())
- #define CallCalibrateEventProc(userRoutine, event) CALL_ONE_PARAMETER_UPP((userRoutine), uppCalibrateEventProcInfo, (event))
- #define CallCanCalibrateProc(userRoutine, displayID, errMessage) CALL_TWO_PARAMETER_UPP((userRoutine), uppCanCalibrateProcInfo, (displayID), (errMessage))
- #define CallCalibrateProc(userRoutine, theInfo) CALL_ONE_PARAMETER_UPP((userRoutine), uppCalibrateProcInfo, (theInfo))
- #endif
- #if OLDROUTINENAMES
- /* Interface for original ColorSync monitor calibrators (ColorSync 2.5.x) */
-
- enum {
- kOldCalibratorNamePrefix = FOUR_CHAR_CODE('Cali')
- };
-
-
- struct OldCalibratorInfo {
- AVIDType displayID; /* Contains an hDC on Win32 */
- CMProfileLocation profileLocation;
- CalibrateEventUPP eventProc; /* Ignored on Win32 */
- UInt32 reserved; /* Unused */
- UInt32 flags; /* Unused */
- Boolean isGood; /* true or false */
- SInt8 byteFiller; /* Unused */
- };
- typedef struct OldCalibratorInfo OldCalibratorInfo;
- typedef CALLBACK_API( Boolean , OldCanCalibrateProcPtr )(AVIDType displayID);
- typedef CALLBACK_API( OSErr , OldCalibrateProcPtr )(OldCalibratorInfo *theInfo);
- typedef STACK_UPP_TYPE(OldCanCalibrateProcPtr) OldCanCalibrateUPP;
- typedef STACK_UPP_TYPE(OldCalibrateProcPtr) OldCalibrateUPP;
- enum { uppOldCanCalibrateProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
- enum { uppOldCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
- #if MIXEDMODE_CALLS_ARE_FUNCTIONS
- EXTERN_API(OldCanCalibrateUPP)
- NewOldCanCalibrateProc (OldCanCalibrateProcPtr userRoutine);
- EXTERN_API(OldCalibrateUPP)
- NewOldCalibrateProc (OldCalibrateProcPtr userRoutine);
- EXTERN_API(Boolean)
- CallOldCanCalibrateProc (OldCanCalibrateUPP userRoutine,
- AVIDType displayID);
- EXTERN_API(OSErr)
- CallOldCalibrateProc (OldCalibrateUPP userRoutine,
- OldCalibratorInfo * theInfo);
- #else
- #define NewOldCanCalibrateProc(userRoutine) (OldCanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCanCalibrateProcInfo, GetCurrentArchitecture())
- #define NewOldCalibrateProc(userRoutine) (OldCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCalibrateProcInfo, GetCurrentArchitecture())
- #define CallOldCanCalibrateProc(userRoutine, displayID) CALL_ONE_PARAMETER_UPP((userRoutine), uppOldCanCalibrateProcInfo, (displayID))
- #define CallOldCalibrateProc(userRoutine, theInfo) CALL_ONE_PARAMETER_UPP((userRoutine), uppOldCalibrateProcInfo, (theInfo))
- #endif
- #endif /* OLDROUTINENAMES */
-
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
-
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __CMCALIBRATOR__ */
-
-